我想通过删除csv中的所有引号来清理字符串中间有双引号的CSV文件。
例如:安娜是“光荣的”。我希望删除引号,以便让我成为Ana
我正在尝试用空格替换“,但我无法同时使用w和r的csv。如何清除数据?
import csv
with open('/var/lib/neo4j/import/MRCONSO.csv',"r+",encoding="utf-8") as csv_file:
for data in csv_file:
data = [d.replace('"', '') for d in data]
我希望CSV结构不会更改,只有引号会被删除。
答案 0 :(得分:3)
您不必重复行,您只需阅读全部内容,像平常一样使用replace
,然后编写新内容:
with open('/var/lib/neo4j/import/MRCONSO.csv', "r+", encoding="utf-8") as csv_file:
content = csv_file.read()
with open('/var/lib/neo4j/import/MRCONSO.csv', "w+", encoding="utf-8") as csv_file:
csv_file.write(content.replace('"', ''))
答案 1 :(得分:0)
您可以使用熊猫:
import pandas
df = pandas.read_csv('file.csv',header=None)
df.replace('"', '', inplace=True, regex=True)
df.to_csv("file.csv",header=False, index=False)
答案 2 :(得分:0)
当使用引号$getEvents = Booking::where('category_id', '=', $categoryID)
->where('date_from', '!=', $startDate)
->where('date_to', '!=', $endDate)
->orWhere('date_from', '<', $startDate)
->orWhere('date_to', '>', $endDate)
->whereNotBetween('date_from', [$startDate,$endDate])
->whereNotBetween('date_to', [$startDate,$endDate])
->get();
作为字符串时,您必须在其之前传递反斜杠或将其声明为文字,否则python会将您的输入视为声明字符串的语法:
"
或
df.replace('\"', '', inplace = True, regex = True)