ParisNeo commited on
Commit
0429dfc
·
unverified ·
1 Parent(s): 5348a04

fixed csv_string_to_list when data contains null

Browse files
Files changed (1) hide show
  1. lightrag/utils.py +17 -3
lightrag/utils.py CHANGED
@@ -253,9 +253,23 @@ def list_of_list_to_csv(data: List[List[str]]) -> str:
253
 
254
 
255
  def csv_string_to_list(csv_string: str) -> List[List[str]]:
256
- output = io.StringIO(csv_string)
257
- reader = csv.reader(output)
258
- return [row for row in reader]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
259
 
260
 
261
  def save_data_to_file(data, file_name):
 
253
 
254
 
255
  def csv_string_to_list(csv_string: str) -> List[List[str]]:
256
+ # Clean the string by removing NUL characters
257
+ cleaned_string = csv_string.replace('\0', '')
258
+
259
+ output = io.StringIO(cleaned_string)
260
+ reader = csv.reader(
261
+ output,
262
+ quoting=csv.QUOTE_ALL, # Match the writer configuration
263
+ escapechar='\\', # Use backslash as escape character
264
+ quotechar='"', # Use double quotes
265
+ )
266
+
267
+ try:
268
+ return [row for row in reader]
269
+ except csv.Error as e:
270
+ raise ValueError(f"Failed to parse CSV string: {str(e)}")
271
+ finally:
272
+ output.close()
273
 
274
 
275
  def save_data_to_file(data, file_name):