The "single quotes" python is displaying when showing you the strings inside a list are just markers for "this is a string". If you need them as output, you can simply add singleticks to your string itself - it will then be displayed with doubleticks:
print([1,"'some data'",2,4)) # no deref, will be printed as repr(list).
print(*[1,"'some data'",2,4], sep=", ") # *[..] will deref elements+ print each with sep=","
Output:
[1, "'some data'", 2, 4]
1, 'some data', 2, 4
You can simply include the single ticks in your output:
data = [1518785613920, 1, 19, 3099, 'abc', 0, 'def']
# generator expression that adds '' around strings in the generator and prints it
# using the deref * and print's sep=", " specifier
print( *(x if not isinstance(x,str) else "'{}'".format(x) for x in data), sep=", ")
Output:
1518785613920, 1, 19, 3099, 'abc', 0, 'def'
If you want to write it into a file, you can construct an output like so:
# use join() and some generator comp to create output. join needs strings so str(int)
s = ', '.join((str(x) if not isinstance(x,str) else "'{}'".format(x) for x in data))
# s is identical to above output
As mentioned by MadPhysicist thats about the same as
s = repr(data).strip("[]")
Doku for print()
Doku for join()
or search SO, f.e. here: What exactly does the .join() method do?