python读取CSV写入数据库,数据含有单引号和双引号
时间: 2023-01-11 12:55:36 浏览: 782
你可以使用Python的csv库来读取CSV文件并将其写入数据库。首先,你需要使用csv.reader()函数读取CSV文件。这个函数将返回一个迭代器,每次迭代可以得到一行数据。然后你可以使用数据库的插入语句将数据插入到数据库中。
例如:
```
import csv
import MySQLdb
# Open the CSV file
with open('data.csv', 'r') as f:
# Create a CSV reader
reader = csv.reader(f)
# Connect to the database
conn = MySQLdb.connect(host='localhost', user='username', password='password', database='database_name')
cursor = conn.cursor()
# Insert each row into the database
for row in reader:
cursor.execute('INSERT INTO table_name (column1, column2, column3) VALUES (%s, %s, %s)', row)
# Close the connection
conn.commit()
conn.close()
```
在这个例子中,我们使用MySQLdb库来连接到MySQL数据库,然后使用cursor.execute()函数执行SQL插入语句。注意,你需要将数据作为参数传递给execute()函数,这样可以避免SQL注入攻击。
如果你的数据中含有单引号或双引号,你可以使用MySQLdb库中的MySQLdb.escape_string()函数来对数据进行转义。例如:
```
import MySQLdb
def escape_string(s):
return MySQLdb.escape_string(s).decode('utf-8')
# ...
for row in reader:
escaped_row = [escape_string(cell) for cell in row]
cursor.execute('INSERT INTO table_name (column1, column2, column3) VALUES (%s, %s, %s)', escaped_row)
```
这样可以帮助你避免SQL注入攻击,同时保证数据的完整性。
阅读全文